Variables:

Risk
Money
Security
Good time Help Success Proper Environment Tradition Creativity

Friends important Family important Leisure time Happiness Health (subjective) Satisfaction Freedom

Sex Age Country Wave Marital status Children Employment Education

Do we want to combine the data? Find about the overlap: countries in both cases? Risk item –> revert facet plot: plot by country 20 countries in a plot Order countries by continent? Scatterplot: (average age, average risk) Average older or younger population in countries–> more risk? Mixed effects model with hierarchy (people clustered into countries) What are we trying to find out?

Regression that considers countries Average / country effect x: risk taking; y: age (plot by how steep the slope is –> regresion for each country) Slope/intercept –> plot Mixed effect model –> extract mixed and random effect model (save intercept and slope) Able to visualize Indep. regression for each country for each data sets Table with countries, N, intercept and slope (risk and age), effect for age, effect for gender Hardship Index? Do we see the same effect in the countries? What visualization? –> Goal? Rationale? Do a sketch of what we want to do 1.) plot age 2. ) How much data per country? Age distribution per country? (include age and gender in plots) Work on the list!!

library(data.table)
library(tidyr)

#read the data (Wave 5)

# Data of Wave 5


WV5_data <- readRDS("/Users/cristinacandido/Documents/Github/risk_wvs/data/WVS/F00007944-WV5_Data_R_v20180912.rds")


# Convert WV5_data-object in data.frame 
WV5_data_df <- as.data.frame(WV5_data)

# show first five columns
head(WV5_data_df[, 1:5])

clean the data set

library(dplyr)

#rename the variables
WV5_data <- WV5_data_df %>%
  rename(sex = V235, age = V237, country = V2, wave = V1, risk = V86)
WV5_data


#select only the variables of interest
WV5_data <- WV5_data %>%
  select(sex, age, country, wave, risk)
WV5_data
#decode the country names 
countrynames = read.csv("/Users/cristinacandido/Documents/Github/risk_wvs/data/WVS/countrynames.txt", header=FALSE,as.is=TRUE)
colnames(countrynames) = c("code", "name")
WV5_data$country_lab = countrynames$name [match(WV5_data$country, countrynames$code)]
table(WV5_data$country_lab)

            Andorra           Argentina           Australia              Brazil            Bulgaria        Burkina Faso              Canada 
               1003                1002                1421                1500                1001                1534                2164 
              Chile               China            Colombia          Cyprus (G)               Egypt            Ethiopia             Finland 
               1000                1991                3025                1050                3051                1500                1014 
             France             Georgia             Germany               Ghana       Great Britain           Guatemala           Hong Kong 
               1001                1500                2064                1534                1041                1000                1252 
            Hungary               India           Indonesia                Iran                Iraq               Italy               Japan 
               1007                2001                2015                2667                2701                1012                1096 
             Jordan            Malaysia                Mali              Mexico             Moldova             Morocco         Netherlands 
               1200                1201                1534                1560                1046                1200                1050 
        New Zealand              Norway                Peru              Poland             Romania              Russia              Rwanda 
                954                1025                1500                1000                1776                2033                1507 
           Slovenia        South Africa         South Korea               Spain              Sweden         Switzerland              Taiwan 
               1037                2988                1200                1200                1003                1241                1227 
           Thailand Trinidad and Tobago              Turkey             Ukraine       United States             Uruguay            Viet Nam 
               1534                1002                1346                1000                1249                1000                1495 
             Zambia 
               1500 
WV5_data
NA
NA

#Read Dataset (Wave 6)

WV6_data <- load("/Users/cristinacandido/Documents/Github/risk_wvs/data/WVS/WV6_Data_R_v20201117.rdata") 
WV6_data <- WV6_Data_R_v20201117 
print(WV6_data)

` ``{r} #rename variables

WV6_data <- WV6_data %>%
  rename(wave = V1, sex = V240, age = V242,country = V2, risk = V76)


#select only the variables of interest
WV6_data <- WV6_data %>%
  select(wave, sex, age, country, sex,risk)
WV6_data
NA

#decode daraset (Wave 6)

countrynames = read.csv("/Users/cristinacandido/Documents/Github/risk_wvs/data/WVS/countrynames.txt", header=FALSE,as.is=TRUE)
colnames(countrynames) = c("code", "name")
WV6_data$country_lab = countrynames$name [match(WV6_data$country, countrynames$code)]
table(WV6_data$country_lab)

            Algeria           Argentina             Armenia           Australia          Azerbaijan             Belarus              Brazil               Chile 
               1200                1030                1100                1477                1002                1535                1486                1000 
              China            Colombia          Cyprus (G)             Ecuador               Egypt             Estonia             Georgia             Germany 
               2300                1512                1000                1202                1523                1533                1202                2046 
              Ghana               Haiti           Hong Kong               India                Iraq               Japan              Jordan          Kazakhstan 
               1552                1996                1000                4078                1200                2443                1200                1500 
             Kuwait          Kyrgyzstan             Lebanon               Libya            Malaysia              Mexico             Morocco         Netherlands 
               1303                1500                1200                2131                1300                2000                1200                1902 
        New Zealand             Nigeria            Pakistan           Palestine                Peru         Philippines              Poland               Qatar 
                841                1759                1200                1000                1210                1200                 966                1060 
            Romania              Russia              Rwanda           Singapore            Slovenia        South Africa         South Korea               Spain 
               1503                2500                1527                1972                1069                3531                1200                1189 
             Sweden              Taiwan            Thailand Trinidad and Tobago             Tunisia              Turkey             Ukraine       United States 
               1206                1238                1200                 999                1205                1605                1500                2232 
            Uruguay          Uzbekistan               Yemen            Zimbabwe 
               1000                1500                1000                1500 
WV6_data

#combine the 2 dataset (Wave 6 + Wave 5)

WV5_data
WV6_data
data = rbind(WV5_data, WV6_data)
data

#number of countries

length(unique(data$country_lab))
[1] 78

#number of participants

nrow(data)
[1] 173540

#exclusion of participants

data = subset(data, risk > 0 & sex > 0 & age > 0)

length(unique(data$country_lab))
[1] 78
 

data
data$risk = 6 - data$risk + 1
data$risk_ord=data$risk 
data$risk = 10*scale(data$risk, center=TRUE,scale=TRUE)+50
data
NA

#number of males vs females (1 = males; 2 = females)

table(data$sex)

    1     2 
47262 50079 
#create a categorical age variable
data$agecat[data$age<20]="15-19"
data$agecat[data$age>=20 & data$age <30] = "20-29"
data$agecat[data$age>=30 & data$age <40] = "30-39"
data$agecat[data$age>=40 & data$age <50] = "40-49"
data$agecat[data$age>=50 & data$age <60] = "50-59"
data$agecat[data$age>=60 & data$age <70] = "60-69"
data$agecat[data$age>=70 & data$age <80] = "70-79"
data$agecat[data$age>=80] = "80+"

#gender variables

data$sex[data$sex == 1] <- "male"
data$sex[data$sex == 2] <- "female"

#average age of participants
mean(data$age)
[1] 41.62714

#education variables

attach(data)
data$education_cat[education < 3] = "incomplete or no primary education"
data$education_cat[education > 2 & education <= 6] <- "no uni"
data$education_cat[education >= 7] <- "uni"
detach(data)
table(data$education)
data

#wave variables

data$wave[data$wave == 5] <- "Wave 5"
data$wave[data$wave == 6] <- "Wave 6"
data

#age range

range(data$age) 
[1] 15 99

#risk taking Frequency

library(ggplot2)
ggplot(data, aes(x = risk)) +
  geom_histogram(binwidth = 0.5, fill = "lightblue", color = "black") +
  labs(x = "Risk Taking", y = "Frequency", title = "Histogram of Risk Taking") +
  theme_minimal()

#age frequency

ggplot(data, aes(x = age)) +
  geom_histogram(binwidth = 0.5, fill = "lightblue", color = "black") +
  labs(x = "Age", y = "Frequency", title = "Histogram of Age Distributionn") +
  theme_minimal()

#age vs risk taking


ggplot(data, aes(x = agecat, y = risk)) +
  geom_boxplot() +
  labs(title = "Boxplot of Risk and Adventure by Age",
       x = "Age",
       y = "Risk and Adventure") +
  theme_minimal()

NA
NA

#sex vs risk taking

ggplot(data, aes(as.factor(sex), risk))+
  geom_boxplot()

#descriptive data 
summary(data)
     sex                 age            country           wave            risk.V1       country_lab           agecat              risk_ord.V1    
 Length:156528      Min.   : 15.00   Min.   : 12.0   Min.   :5.000   Min.   :36.15444   Length:156528      Length:156528      Min.   :-56.84556  
 Class :character   1st Qu.: 28.00   1st Qu.:276.0   1st Qu.:5.000   1st Qu.:42.42999   Class :character   Class :character   1st Qu.:-50.57001  
 Mode  :character   Median : 39.00   Median :466.0   Median :6.000   Median :48.70553   Mode  :character   Mode  :character   Median :-44.29447  
                    Mean   : 41.62   Mean   :477.4   Mean   :5.551   Mean   :50.00677                                         Mean   :-42.99323  
                    3rd Qu.: 54.00   3rd Qu.:710.0   3rd Qu.:6.000   3rd Qu.:54.98108                                         3rd Qu.:-38.01892  
                    Max.   :102.00   Max.   :894.0   Max.   :6.000   Max.   :67.53218                                         Max.   :-25.46782  
#data cleaning: deletion of NAs 
data = na.omit(data)
summary(data)
     sex                 age            country           wave            risk.V1       country_lab           agecat              risk_ord.V1    
 Length:156528      Min.   : 15.00   Min.   : 12.0   Min.   :5.000   Min.   :36.15444   Length:156528      Length:156528      Min.   :-56.84556  
 Class :character   1st Qu.: 28.00   1st Qu.:276.0   1st Qu.:5.000   1st Qu.:42.42999   Class :character   Class :character   1st Qu.:-50.57001  
 Mode  :character   Median : 39.00   Median :466.0   Median :6.000   Median :48.70553   Mode  :character   Mode  :character   Median :-44.29447  
                    Mean   : 41.62   Mean   :477.4   Mean   :5.551   Mean   :50.00677                                         Mean   :-42.99323  
                    3rd Qu.: 54.00   3rd Qu.:710.0   3rd Qu.:6.000   3rd Qu.:54.98108                                         3rd Qu.:-38.01892  
                    Max.   :102.00   Max.   :894.0   Max.   :6.000   Max.   :67.53218                                         Max.   :-25.46782  
#risk distribution according to Waves 5 and 6 
ggplot(data, aes(as.factor(wave), risk))+
  geom_boxplot()

#risk vs age
library(ggplot2)
ggplot(data, aes(risk, age))+
  geom_point()+
  geom_smooth(method = "lm")

data1 <- subset(data, country_lab %in% c("Andorra", "Romania", "Spain"))

ggplot(data1, aes(as.factor(country_lab), risk))+
  geom_boxplot()

#happiness vs risk depending on sex
ggplot(data, aes(age, risk, color = as.factor(country_lab)))+
  geom_point()+
  geom_smooth(method = "lm", se = TRUE)

ncol(countryfacts)  # this will print the number of columns in countryfacts
[1] 9
length(labels)       # this will print the length of the labels vector
[1] 10

```

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpWYXJpYWJsZXM6IAoKUmlzayAgICAgICAgICAgICAgICAgIApNb25leSAgICAgICAgICAgICAgICAKU2VjdXJpdHkgICAgICAKR29vZCB0aW1lIApIZWxwIApTdWNjZXNzIApQcm9wZXIKRW52aXJvbm1lbnQgClRyYWRpdGlvbgpDcmVhdGl2aXR5IAoKRnJpZW5kcyBpbXBvcnRhbnQgCkZhbWlseSBpbXBvcnRhbnQgCkxlaXN1cmUgdGltZQpIYXBwaW5lc3MgCkhlYWx0aCAoc3ViamVjdGl2ZSkKU2F0aXNmYWN0aW9uCkZyZWVkb20gCgpTZXgKQWdlIApDb3VudHJ5CldhdmUKTWFyaXRhbCBzdGF0dXMKQ2hpbGRyZW4gCkVtcGxveW1lbnQKRWR1Y2F0aW9uCgpEbyB3ZSB3YW50IHRvIGNvbWJpbmUgdGhlIGRhdGE/CkZpbmQgYWJvdXQgdGhlIG92ZXJsYXA6IGNvdW50cmllcyBpbiBib3RoIGNhc2VzPyAKUmlzayBpdGVtICAtLT4gcmV2ZXJ0IApmYWNldCBwbG90OiBwbG90IGJ5IGNvdW50cnkKMjAgY291bnRyaWVzIGluIGEgcGxvdApPcmRlciBjb3VudHJpZXMgYnkgY29udGluZW50PyAKU2NhdHRlcnBsb3Q6IChhdmVyYWdlIGFnZSwgYXZlcmFnZSByaXNrKQpBdmVyYWdlIG9sZGVyIG9yIHlvdW5nZXIgcG9wdWxhdGlvbiBpbiBjb3VudHJpZXMtLT4gbW9yZSByaXNrPyAKTWl4ZWQgZWZmZWN0cyBtb2RlbCB3aXRoIGhpZXJhcmNoeSAocGVvcGxlIGNsdXN0ZXJlZCBpbnRvIGNvdW50cmllcykKV2hhdCBhcmUgd2UgdHJ5aW5nIHRvIGZpbmQgb3V0PyAKClJlZ3Jlc3Npb24gdGhhdCBjb25zaWRlcnMgY291bnRyaWVzCkF2ZXJhZ2UgLyBjb3VudHJ5IGVmZmVjdAp4OiByaXNrIHRha2luZzsgeTogYWdlIChwbG90IGJ5IGhvdyBzdGVlcCB0aGUgc2xvcGUgaXMgLS0+IHJlZ3Jlc2lvbiBmb3IgZWFjaCBjb3VudHJ5KQpTbG9wZS9pbnRlcmNlcHQgLS0+IHBsb3QKTWl4ZWQgZWZmZWN0IG1vZGVsIC0tPiBleHRyYWN0IG1peGVkIGFuZCByYW5kb20gZWZmZWN0IG1vZGVsIChzYXZlIGludGVyY2VwdCBhbmQgc2xvcGUpCkFibGUgdG8gdmlzdWFsaXplCkluZGVwLiByZWdyZXNzaW9uIGZvciBlYWNoIGNvdW50cnkgZm9yIGVhY2ggZGF0YSBzZXRzIApUYWJsZSB3aXRoIGNvdW50cmllcywgTiwgaW50ZXJjZXB0IGFuZCBzbG9wZSAocmlzayBhbmQgYWdlKSwgZWZmZWN0IGZvciBhZ2UsIGVmZmVjdCBmb3IgZ2VuZGVyCkhhcmRzaGlwIEluZGV4PyBEbyB3ZSBzZWUgdGhlIHNhbWUgZWZmZWN0IGluIHRoZSBjb3VudHJpZXM/CldoYXQgdmlzdWFsaXphdGlvbj8gLS0+IEdvYWw/IFJhdGlvbmFsZT8gRG8gYSBza2V0Y2ggb2Ygd2hhdCB3ZSB3YW50IHRvIGRvIAoxLikgcGxvdCBhZ2UgCjIuICkgSG93IG11Y2ggZGF0YSBwZXIgY291bnRyeT8gQWdlIGRpc3RyaWJ1dGlvbiBwZXIgY291bnRyeT8gKGluY2x1ZGUgYWdlIGFuZCBnZW5kZXIgaW4gcGxvdHMpCldvcmsgb24gdGhlIGxpc3QhIQoKCgoKYGBge3J9CmxpYnJhcnkoZGF0YS50YWJsZSkKbGlicmFyeSh0aWR5cikKYGBgCgojcmVhZCB0aGUgZGF0YSAoV2F2ZSA1KQpgYGB7cn0KIyBEYXRhIG9mIFdhdmUgNQoKCldWNV9kYXRhIDwtIHJlYWRSRFMoIi9Vc2Vycy9jcmlzdGluYWNhbmRpZG8vRG9jdW1lbnRzL0dpdGh1Yi9yaXNrX3d2cy9kYXRhL1dWUy9GMDAwMDc5NDQtV1Y1X0RhdGFfUl92MjAxODA5MTIucmRzIikKCgojIENvbnZlcnQgV1Y1X2RhdGEtb2JqZWN0IGluIGRhdGEuZnJhbWUgCldWNV9kYXRhX2RmIDwtIGFzLmRhdGEuZnJhbWUoV1Y1X2RhdGEpCgojIHNob3cgZmlyc3QgZml2ZSBjb2x1bW5zCmhlYWQoV1Y1X2RhdGFfZGZbLCAxOjVdKQpgYGAKCiMgY2xlYW4gdGhlIGRhdGEgc2V0CmBgYHtyfQpsaWJyYXJ5KGRwbHlyKQoKI3JlbmFtZSB0aGUgdmFyaWFibGVzCldWNV9kYXRhIDwtIFdWNV9kYXRhX2RmICU+JQogIHJlbmFtZShzZXggPSBWMjM1LCBhZ2UgPSBWMjM3LCBjb3VudHJ5ID0gVjIsIHdhdmUgPSBWMSwgcmlzayA9IFY4NikKV1Y1X2RhdGEKCgojc2VsZWN0IG9ubHkgdGhlIHZhcmlhYmxlcyBvZiBpbnRlcmVzdApXVjVfZGF0YSA8LSBXVjVfZGF0YSAlPiUKICBzZWxlY3Qoc2V4LCBhZ2UsIGNvdW50cnksIHdhdmUsIHJpc2spCldWNV9kYXRhCmBgYAoKYGBge3J9CiNkZWNvZGUgdGhlIGNvdW50cnkgbmFtZXMgCmNvdW50cnluYW1lcyA9IHJlYWQuY3N2KCIvVXNlcnMvY3Jpc3RpbmFjYW5kaWRvL0RvY3VtZW50cy9HaXRodWIvcmlza193dnMvZGF0YS9XVlMvY291bnRyeW5hbWVzLnR4dCIsIGhlYWRlcj1GQUxTRSxhcy5pcz1UUlVFKQpjb2xuYW1lcyhjb3VudHJ5bmFtZXMpID0gYygiY29kZSIsICJuYW1lIikKV1Y1X2RhdGEkY291bnRyeV9sYWIgPSBjb3VudHJ5bmFtZXMkbmFtZSBbbWF0Y2goV1Y1X2RhdGEkY291bnRyeSwgY291bnRyeW5hbWVzJGNvZGUpXQp0YWJsZShXVjVfZGF0YSRjb3VudHJ5X2xhYikKV1Y1X2RhdGEKCgpgYGAKCiNSZWFkIERhdGFzZXQgKFdhdmUgNikKYGBge3J9CldWNl9kYXRhIDwtIGxvYWQoIi9Vc2Vycy9jcmlzdGluYWNhbmRpZG8vRG9jdW1lbnRzL0dpdGh1Yi9yaXNrX3d2cy9kYXRhL1dWUy9XVjZfRGF0YV9SX3YyMDIwMTExNy5yZGF0YSIpIApXVjZfZGF0YSA8LSBXVjZfRGF0YV9SX3YyMDIwMTExNyAKcHJpbnQoV1Y2X2RhdGEpCmBgYApgCmBge3J9CiNyZW5hbWUgdmFyaWFibGVzCmBgYHtyfQpXVjZfZGF0YSA8LSBXVjZfZGF0YSAlPiUKICByZW5hbWUod2F2ZSA9IFYxLCBzZXggPSBWMjQwLCBhZ2UgPSBWMjQyLGNvdW50cnkgPSBWMiwgcmlzayA9IFY3NikKCgojc2VsZWN0IG9ubHkgdGhlIHZhcmlhYmxlcyBvZiBpbnRlcmVzdApXVjZfZGF0YSA8LSBXVjZfZGF0YSAlPiUKICBzZWxlY3Qod2F2ZSwgc2V4LCBhZ2UsIGNvdW50cnksIHNleCxyaXNrKQpXVjZfZGF0YQoKYGBgCgoKI2RlY29kZSBkYXJhc2V0IChXYXZlIDYpCmBgYHtyfQpjb3VudHJ5bmFtZXMgPSByZWFkLmNzdigiL1VzZXJzL2NyaXN0aW5hY2FuZGlkby9Eb2N1bWVudHMvR2l0aHViL3Jpc2tfd3ZzL2RhdGEvV1ZTL2NvdW50cnluYW1lcy50eHQiLCBoZWFkZXI9RkFMU0UsYXMuaXM9VFJVRSkKY29sbmFtZXMoY291bnRyeW5hbWVzKSA9IGMoImNvZGUiLCAibmFtZSIpCldWNl9kYXRhJGNvdW50cnlfbGFiID0gY291bnRyeW5hbWVzJG5hbWUgW21hdGNoKFdWNl9kYXRhJGNvdW50cnksIGNvdW50cnluYW1lcyRjb2RlKV0KdGFibGUoV1Y2X2RhdGEkY291bnRyeV9sYWIpCldWNl9kYXRhCmBgYAoKI2NvbWJpbmUgdGhlIDIgZGF0YXNldCAoV2F2ZSA2ICsgV2F2ZSA1KQpgYGB7cn0KV1Y1X2RhdGEKV1Y2X2RhdGEKZGF0YSA9IHJiaW5kKFdWNV9kYXRhLCBXVjZfZGF0YSkKZGF0YQpgYGAKCiNudW1iZXIgb2YgY291bnRyaWVzCmBgYHtyfQpsZW5ndGgodW5pcXVlKGRhdGEkY291bnRyeV9sYWIpKQpgYGAKCiNudW1iZXIgb2YgcGFydGljaXBhbnRzCmBgYHtyfQpucm93KGRhdGEpCmBgYAojZXhjbHVzaW9uIG9mIHBhcnRpY2lwYW50cwpgYGB7cn0KZGF0YSA9IHN1YnNldChkYXRhLCByaXNrID4gMCAmIHNleCA+IDAgJiBhZ2UgPiAwKQoKbGVuZ3RoKHVuaXF1ZShkYXRhJGNvdW50cnlfbGFiKSkKIAoKZGF0YQpgYGAKYGBge3J9CmRhdGEkcmlzayA9IDYgLSBkYXRhJHJpc2sgKyAxCmRhdGEkcmlza19vcmQ9ZGF0YSRyaXNrIApkYXRhJHJpc2sgPSAxMCpzY2FsZShkYXRhJHJpc2ssIGNlbnRlcj1UUlVFLHNjYWxlPVRSVUUpKzUwCmRhdGEKCmBgYAoKCgoKI251bWJlciBvZiBtYWxlcyB2cyBmZW1hbGVzICgxID0gbWFsZXM7IDIgPSBmZW1hbGVzKQpgYGB7cn0KdGFibGUoZGF0YSRzZXgpCmBgYAoKCmBgYHtyfQojY3JlYXRlIGEgY2F0ZWdvcmljYWwgYWdlIHZhcmlhYmxlCmRhdGEkYWdlY2F0W2RhdGEkYWdlPDIwXT0iMTUtMTkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj0yMCAmIGRhdGEkYWdlIDwzMF0gPSAiMjAtMjkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj0zMCAmIGRhdGEkYWdlIDw0MF0gPSAiMzAtMzkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj00MCAmIGRhdGEkYWdlIDw1MF0gPSAiNDAtNDkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj01MCAmIGRhdGEkYWdlIDw2MF0gPSAiNTAtNTkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj02MCAmIGRhdGEkYWdlIDw3MF0gPSAiNjAtNjkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj03MCAmIGRhdGEkYWdlIDw4MF0gPSAiNzAtNzkiCmRhdGEkYWdlY2F0W2RhdGEkYWdlPj04MF0gPSAiODArIgpgYGAKCgojZ2VuZGVyIHZhcmlhYmxlcwpgYGB7cn0KZGF0YSRzZXhbZGF0YSRzZXggPT0gMV0gPC0gIm1hbGUiCmRhdGEkc2V4W2RhdGEkc2V4ID09IDJdIDwtICJmZW1hbGUiCgojYXZlcmFnZSBhZ2Ugb2YgcGFydGljaXBhbnRzCm1lYW4oZGF0YSRhZ2UpCmBgYAojZWR1Y2F0aW9uIHZhcmlhYmxlcyAKYGBge3J9CmF0dGFjaChkYXRhKQpkYXRhJGVkdWNhdGlvbl9jYXRbZWR1Y2F0aW9uIDwgM10gPSAiaW5jb21wbGV0ZSBvciBubyBwcmltYXJ5IGVkdWNhdGlvbiIKZGF0YSRlZHVjYXRpb25fY2F0W2VkdWNhdGlvbiA+IDIgJiBlZHVjYXRpb24gPD0gNl0gPC0gIm5vIHVuaSIKZGF0YSRlZHVjYXRpb25fY2F0W2VkdWNhdGlvbiA+PSA3XSA8LSAidW5pIgpkZXRhY2goZGF0YSkKdGFibGUoZGF0YSRlZHVjYXRpb24pCmRhdGEKYGBgCiN3YXZlIHZhcmlhYmxlcwpgYGB7cn0KZGF0YSR3YXZlW2RhdGEkd2F2ZSA9PSA1XSA8LSAiV2F2ZSA1IgpkYXRhJHdhdmVbZGF0YSR3YXZlID09IDZdIDwtICJXYXZlIDYiCmRhdGEKYGBgCgoKI2FnZSByYW5nZQpgYGB7cn0KcmFuZ2UoZGF0YSRhZ2UpIApgYGAKI3Jpc2sgdGFraW5nIEZyZXF1ZW5jeQpgYGB7cn0KbGlicmFyeShnZ3Bsb3QyKQpnZ3Bsb3QoZGF0YSwgYWVzKHggPSByaXNrKSkgKwogIGdlb21faGlzdG9ncmFtKGJpbndpZHRoID0gMC41LCBmaWxsID0gImxpZ2h0Ymx1ZSIsIGNvbG9yID0gImJsYWNrIikgKwogIGxhYnMoeCA9ICJSaXNrIFRha2luZyIsIHkgPSAiRnJlcXVlbmN5IiwgdGl0bGUgPSAiSGlzdG9ncmFtIG9mIFJpc2sgVGFraW5nIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKI2FnZSBmcmVxdWVuY3kKYGBge3J9CmdncGxvdChkYXRhLCBhZXMoeCA9IGFnZSkpICsKICBnZW9tX2hpc3RvZ3JhbShiaW53aWR0aCA9IDAuNSwgZmlsbCA9ICJsaWdodGJsdWUiLCBjb2xvciA9ICJibGFjayIpICsKICBsYWJzKHggPSAiQWdlIiwgeSA9ICJGcmVxdWVuY3kiLCB0aXRsZSA9ICJIaXN0b2dyYW0gb2YgQWdlIERpc3RyaWJ1dGlvbm4iKSArCiAgdGhlbWVfbWluaW1hbCgpCmBgYAojYWdlIHZzIHJpc2sgdGFraW5nCmBgYHtyfQoKZ2dwbG90KGRhdGEsIGFlcyh4ID0gYWdlY2F0LCB5ID0gcmlzaykpICsKICBnZW9tX2JveHBsb3QoKSArCiAgbGFicyh0aXRsZSA9ICJCb3hwbG90IG9mIFJpc2sgYW5kIEFkdmVudHVyZSBieSBBZ2UiLAogICAgICAgeCA9ICJBZ2UiLAogICAgICAgeSA9ICJSaXNrIGFuZCBBZHZlbnR1cmUiKSArCiAgdGhlbWVfbWluaW1hbCgpCgoKYGBgCiNzZXggdnMgcmlzayB0YWtpbmcKYGBge3J9CmdncGxvdChkYXRhLCBhZXMoYXMuZmFjdG9yKHNleCksIHJpc2spKSsKICBnZW9tX2JveHBsb3QoKQoKYGBgCmBgYHtyfQojZGVzY3JpcHRpdmUgZGF0YSAKc3VtbWFyeShkYXRhKQpgYGAKYGBge3J9CiNkYXRhIGNsZWFuaW5nOiBkZWxldGlvbiBvZiBOQXMgCmRhdGEgPSBuYS5vbWl0KGRhdGEpCnN1bW1hcnkoZGF0YSkKYGBgCmBgYHtyfQojcmlzayBkaXN0cmlidXRpb24gYWNjb3JkaW5nIHRvIFdhdmVzIDUgYW5kIDYgCmdncGxvdChkYXRhLCBhZXMoYXMuZmFjdG9yKHdhdmUpLCByaXNrKSkrCiAgZ2VvbV9ib3hwbG90KCkKYGBgCmBgYHtyfQojcmlzayB2cyBhZ2UKbGlicmFyeShnZ3Bsb3QyKQpnZ3Bsb3QoZGF0YSwgYWVzKHJpc2ssIGFnZSkpKwogIGdlb21fcG9pbnQoKSsKICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iKQpgYGAKCgpgYGB7cn0KI3NlbGVjdGVkIDMgY291bnRyaWVzOiBBbmRvcnJhLCBSb21hbmlhLCBTcGFpbgpkYXRhMSA8LSBzdWJzZXQoZGF0YSwgY291bnRyeV9sYWIgJWluJSBjKCJBbmRvcnJhIiwgIlJvbWFuaWEiLCAiU3BhaW4iKSkKIyAzIHJpc2sgZGlzdHJpYnV0aW9uIGZvciAzIGNvdW50cmllcwpnZ3Bsb3QoZGF0YTEsIGFlcyhhcy5mYWN0b3IoY291bnRyeV9sYWIpLCByaXNrKSkrCiAgZ2VvbV9ib3hwbG90KCkKYGBgCmBgYHtyfQojYWdlIHZzIHJpc2sgZGVwZW5kaW5nIG9uIGNvdW50cnkKZ2dwbG90KGRhdGEsIGFlcyhhZ2UsIHJpc2ssIGNvbG9yID0gYXMuZmFjdG9yKGNvdW50cnlfbGFiKSkpKwogIGdlb21fcG9pbnQoKSsKICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBzZSA9IFRSVUUpCmBgYAoKYGBge3J9CgoKCgoKCmBgYApgYGB7cn0KbmNvbChjb3VudHJ5ZmFjdHMpICAjIHRoaXMgd2lsbCBwcmludCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gY291bnRyeWZhY3RzCmxlbmd0aChsYWJlbHMpICAgICAgICMgdGhpcyB3aWxsIHByaW50IHRoZSBsZW5ndGggb2YgdGhlIGxhYmVscyB2ZWN0b3IKCmBgYAoKCmBgYAoKCgogIAoKCgoKCgoKCgoKCgoK